<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css">
    <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
    <!--    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>-->
    <script type="text/javascript" src="https://g.alicdn.com/dingding/dingtalk-jsapi/2.10.3/dingtalk.open.js"></script>
    <link rel="stylesheet" type="text/css" href="../css/style.css">
    <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
    <script>

    function search(){
            var object = $("#object").val();
            $.ajax({
                type:"post",
                url:"/selectResourceByAll",
                dataType: "json",
                data:{
                    "object":object,
                },
                success:function(list){
                    showData(list);
                },
                error:function (msg){
                    alert("search失败:搜索条件为空。");
                }
            });
        }

        function showData(jsonArray){
            //清空table
            var table = document.getElementById("tab");
            arr = table.getElementsByTagName("tr");
            //alart(arr.length);
            //不能用i++的方式去删除，双数行删不掉，删掉第一行的时候第二行变成第一行，下一次删的是第三行。
            //所以采用从最后开始的删除方法。
            for(var i=arr.length-1;i>0;i--){
                table.deleteRow(i);
            }

            var str = "";
            var length=jsonArray.length;
            for (var i=0;i<length;i++){
                if (jsonArray[i].uid==0){
                    jsonArray[i].uid="";
                }
                if (jsonArray[i].uname==null){
                    jsonArray[i].uname="";
                }
                if (jsonArray[i].storage==null){
                    jsonArray[i].storage="";
                }
                if (jsonArray[i].uid==0){
                    jsonArray[i].uid="";
                }
                if (jsonArray[i].price==0||jsonArray[i].price==null){
                    jsonArray[i].price="";
                }
                if (jsonArray[i].borrowtime==null){
                    jsonArray[i].borrowtime="";
                }
                str = "<tr><td><input type='checkbox' id="+ i +" value="+ i +"/></td><td>"
                    +jsonArray[i].rnum+"</td><td>"
                    +jsonArray[i].rname+"</td><td>"
                    +jsonArray[i].rstatus+"</td><td>"
                    +jsonArray[i].rtype+"</td><td>"
                    +jsonArray[i].brand+"</td><td>"
                    +jsonArray[i].model+"</td><td>"
                    +jsonArray[i].price+"</td><td>"
                    +jsonArray[i].registime+"</td><td>"
                    +jsonArray[i].borrowtime+"</td><td>"
                    +jsonArray[i].uid+"</td><td>"
                    +jsonArray[i].uname+"</td><td>"
                    +jsonArray[i].storage+"</td><td>"
                    +jsonArray[i].manage_uid+"</td><td>"
                    +jsonArray[i].tips+"</td><td>" +
                    "<div><button type='button' id='updateBtn' name='updateBtn'>修改</button>" +
                    "<button type='button' id='deleteBtn' >删除</button></div>" +
                    "</td></tr>"
                $("#tab").append(str)
            }
        }

        //限制输入的时间必须超过今天
        $(function(){
            //得到当前时间
            var date_now = new Date();
            //得到当前年份
            var year = date_now.getFullYear();
            //得到当前月份
            //注：
            //  1：js中获取Date中的month时，会比当前月份少一个月，所以这里需要先加一
            //  2: 判断当前月份是否小于10，如果小于，那么就在月份的前面加一个 '0' ， 如果大于，就显示当前月份
            var month = date_now.getMonth()+1 < 10 ? "0"+(date_now.getMonth()+1) : (date_now.getMonth()+1);
            //得到当前日子（多少号）
            var date = date_now.getDate() < 10 ? "0"+date_now.getDate() : date_now.getDate();
            //设置input标签的max属性
            $("#completetime").attr("min",year+"-"+month+"-"+date);
        })

        $(function(){

            $("#changeResource").hide();
            $("#dialog").hide();
            $.ajax({
                url:"/showAllResource",
                type:"post",
                dataType:"json",
                success:function(jsonArray){
                    showData(jsonArray);
                },
                error:function (msg){
                    alert("ajax失败:"+msg);
                }
            });

            $.ajax({
                url:"/database_message",
                dataType:"json",
                type:"post",
                success:function(jsonArray){
                    $("#uname").autocomplete({
                        source: jsonArray,
                        // 定义至少输入几个字
                        minLength: 1,
                        max:10,
                        scroll:true,
                        scrollHeight: 250
                    });
                },
                error:function(){
                    alert("数据库读取名字失败！")
                }
            })
            //地址输入框赋值
            $.ajax({
                url:"/showStorage",
                dataType:"json",
                type:"post",
                success:function(jsonArray){
                    $("#change_storage").autocomplete({
                        source: jsonArray,
                        // 定义至少输入几个字
                        minLength: 0,
                        max:10,
                        scroll:true,
                        scrollHeight: 250
                    });
                },
                error:function(){
                    alert("数据库读取地址失败！")
                }
            })

            // //名字输入框赋值，方便联想查找。
            // $.ajax({
            //     url:"/database_message",
            //     dataType:"json",
            //     type:"post",
            //     success:function(jsonArray){
            //         var length=jsonArray.length;
            //         for (var i=0;i<length;i++){
            //             arrayObj.push(jsonArray[i].uname)
            //         }
            //         //这是为了填充input实现联想查找
            //         $("#uname").autocomplete({
            //             source: jsonArray,
            //             // 定义至少输入几个字
            //             minLength: 1,
            //         });
            //     },
            //     error:function(){
            //         alert("数据库读取名字失败！")
            //     }
            // })

            //修改（未完成）
            var oldtype;//建一个oldtype的全局变量吧，在点击的那里也可以使用了这样子
            $(document).on('click','#updateBtn',function () {
                //新建一个dialog修改
                $("#changeResource").dialog()
                //获取当前行的资产编号，用于在后面赋值使用，这样子后续的每一行就唯一了。
                //获取资产状态，当旧状态与新状态一样证明没有进行借出归还操作。
                oldtype = $(this).parents("tr").find("td").eq(3).text();
                $("#rid").html($(this).parents("tr").find("td").eq(1).text());
                $("#changeType").val($(this).parents("tr").find("td").eq(3).text());
                $("#uname").val($(this).parents("tr").find("td").eq(11).text());
                $("#change_storage").val($(this).parents("tr").find("td").eq(12).text());
                $("#tip").val($(this).parents("tr").find("td").eq(14).text());
                //名字输入框赋值，方便联想查找。
                // $.ajax({
                //     url:"/database_message",
                //     dataType:"json",
                //     type:"post",
                //     success:function(jsonArray){
                //         $("#uname").autocomplete({
                //             source: jsonArray,
                //             // 定义至少输入几个字
                //             minLength: 1,
                //             max:10,
                //             scroll:true,
                //             scrollHeight: 250
                //         });
                //     },
                //     error:function(){
                //         alert("数据库读取名字失败！")
                //     }
                // })
                // //地址输入框赋值
                // $.ajax({
                //     url:"/showStorage",
                //     dataType:"json",
                //     type:"post",
                //     success:function(jsonArray){
                //         $("#change_storage").autocomplete({
                //             source: jsonArray,
                //             // 定义至少输入几个字
                //             minLength: 0,
                //             max:10,
                //             scroll:true,
                //             scrollHeight: 250
                //         });
                //     },
                //     error:function(){
                //         alert("数据库读取地址失败！")
                //     }
                // })

                //下面是直接在屏幕里面修改
                // //$("#updateBtn").hide()
                //
                // //获取资产状态，当旧状态与新状态一样证明没有进行借出归还操作。
                // var oldtype = $(this).parents("tr").find("td").eq(3).text();
                // //获取当前行的资产编号，用于在后面赋值使用，这样子后续的每一行就唯一了。
                // var rnum = $(this).parents("tr").find("td").eq(1).text();
                //
                // //点击修改后先把状态栏变成输入框
                // var rtype = $(this).parents("tr").find("td").eq(3).text();
                // $(this).parents('tr').children("td").eq(3).text('');
                // var tips = $(this).parents("tr").find("td").eq(14).text();
                // $(this).parents('tr').children("td").eq(14).text('');
                //
                // $(this).parents('tr').children("td").eq(14).append('<input type="text" id="tips" value="'+ tips + '"/>')
                // //$(this).parents('tr').children("td").eq(14).append('<input type="text" id="tips'+ rnum +'" value="'+ tips + '"/>')
                //
                // if (rtype == "已借出"){
                //     $(this).parents('tr').children("td").eq(3).append('<select id="changeType" onchange="function ()">'+
                //         '<option value="已借出" selected>已借出</option><option value="未借出">未借出</option></select>')
                //     var uid = $(this).parents("tr").find("td").eq(10).text();
                //     $(this).parents('tr').children("td").eq(10).text('');
                //
                //     $(this).parents('tr').children("td").eq(10).append('<input type="text" id="uid" value="'+ uid + '"/>')
                //     //$(this).parents('tr').children("td").eq(10).append('<input type="text" id="uid'+ rnum +'" value="'+ uid + '"/>')
                //
                // }
                // if (rtype == "未借出"){
                //     $(this).parents('tr').children("td").eq(3).append('<select id="changeType" onchange="function ()">'+
                //         '<option value="已借出">已借出</option><option value="未借出" selected>未借出</option></select>')
                //     var storage = $(this).parents("tr").find("td").eq(12).text();
                //     $(this).parents('tr').children("td").eq(12).text('');
                //
                //     $(this).parents('tr').children("td").eq(12).append('<input type="text" id="storage" value="'+ storage + '"/>')
                //     //$(this).parents('tr').children("td").eq(12).append('<input type="text" id="storage'+ rnum +'" value="'+ storage  + '"/>')
                //
                // }
                // $(this).parents("tr").find("button").hide();
                // $(this).parents('tr').children("td").eq(15).append('<button type="button" id="saveBtn">存储</button>');
                //
                // $("#saveBtn").click(function (){
                //     var id = $(this).parents("tr").find("td").eq(1).text();
                //     var rtype = $("#changeType"+id).val();
                //     var storage = $("#storage"+id).val();
                //     var uid = $("#uid"+id).val();
                //     var rnum = $(this).parents("tr").find("td").eq(1).text();
                //     var tips = $("#tips"+id).val();
                //     if(uid == undefined){
                //         //如果uid没有被赋值，就代表赋值方式错误了，也就代表着uid是文本text格式不能直接通过id获取，此时为未借出，uid应该为0.
                //         uid=0;
                //     }
                //     $.ajax({
                //         url:"/update",
                //         type:"post",
                //         dataType:"json",
                //         data:{
                //             "rnum":rnum,
                //             "status":rtype,
                //             "uid":uid,
                //             "storage":storage,
                //             "tips":tips,
                //             "oldtype":oldtype,
                //         },
                //         success:function (resourcelist){
                //             alert("success");
                //             showData(resourcelist);
                //         },
                //         error:function (message){
                //             alert("更新失败！可能的原因：\n" +
                //                 "1.在已借出的时候未输入或输入错误的员工工号。\n" +
                //                 "2.在未借出的时候未输入储存地点。");
                //         }
                //     })
                // })
                //
                // $("#changeType").change(function (){
                //     var type = $("#changeType").val();
                //     if (type=="已借出"){
                //         //修改员工工号是输入框。然后利用资产编号找到数据库的条目去修改信息。
                //         var uid = $(this).parents("tr").find("td").eq(10).text();
                //         $(this).parents("tr").find("td").eq(10).text('');
                //         $(this).parents("tr").find("td").eq(10).append('<input type="text" id ="uid" value="'+ uid + '"/>')
                //
                //         //修改存储地点为不可输入同时还原初值。
                //         var storage = $("#storage").val();
                //         $(this).parents('tr').children("td").eq(12).text(storage);
                //     }
                //     if (type=="未借出"){
                //         //修改存储地点为输入框
                //         var storage = $(this).parents("tr").find("td").eq(12).text();
                //         $(this).parents('tr').children("td").eq(12).text('');
                //         $(this).parents('tr').children("td").eq(12).append('<input type="text" id="storage" value="'+ storage + '"/>')
                //         //修改员工工号为不可输入同时还原初值（归零在后台进行吧）
                //         var uid = $("#uid").val();
                //         $(this).parents('tr').children("td").eq(10).text(uid);
                //     }
                // })
            })

            //删除功能,同时在后端记录一次流转日志
            $(document).on('click','#deleteBtn',function (){
                var msg = "确认删除该资产数据吗？";
                var rtype = $(this).parents("tr").find("td").eq(3).text();
                if(confirm(msg)==true) {
                    if (rtype == "已借出"){
                        alert("还有员工在借用改资源！无法删除！")
                    }else {
                        var rnum = $(this).parents("tr").find("td").eq(1).text();
                        $.ajax({
                            url: "/delete",
                            type: "post",
                            dataType: "json",
                            data: {
                                "id": rnum,
                            },
                            success: function (jsonArray) {
                                alert("删除成功！");
                                showData(jsonArray);
                            },
                            error: function (msg) {
                                alert("删除失败，原因是：\n\n" + msg);
                            }
                        });
                    }
                }else{
                    alert("取消删除!");
                }
            })

            //回车键查询
            $(document).keyup(function(event) {
                if (event.keyCode == 13) {
                    search();
                }
            })

            //查询功能，模糊查询
            $("#search").click(function (){
                search();
            })

            //点击添加按钮弹出弹窗(目前存在金额double输入类型问题)
            $("#add").click(function (){
                $("#dialog").dialog();
            });

            //点击全选来全选
            $("#checkAll").click(function (){
                var code = document.getElementsByTagName("input");
                for (i=0;i<code.length;i++){
                    if (code[i].type == 'checkbox'){
                        code[i].checked = true;
                    }
                }
            })

            //点击取消来取消全选
            $("#unCheckAll").click(function (){
                var code = document.getElementsByTagName("input");
                for (i=0;i<code.length;i++){
                    if (code[i].type == 'checkbox'){
                        code[i].checked = false;
                    }
                }
            })

            $("#checkstart").click(function (){
                $("#checkadd").dialog();
            })

            $("#checkid_add").click(function (){
                var input = document.getElementsByTagName("input")
                var length = input.length
                for (var i=0;i<length;i++){
                    var obj = input[i];
                    if (obj.type == "checkbox" && obj.checked) {
                        var rid = $(input[i]).parents("tr").find("td").eq(1).text();
                        $.ajax({
                            type: "post",
                            dataType: "json",
                            url: "/startCheck",
                            data: {
                                "rid": rid,
                            },
                            success: function (list) {
                            },
                            error: function (msg) {
                            }
                        })
                    }
                }
                alert("发起盘点成功！具体内容移至盘点列表查看")
            })

            $("#resource_add").click(function (){
                var rnum = $("#rnum").val();
                var name = $("#name").val();
                var rtype = $("#rtype").val();
                var brand = $("#brand").val();
                var model = $("#model").val();
                var price = $("#price").val();
                var storage = $("#storage").val();
                var tips = $("#tips").val();
                $.ajax({
                    type:"post",
                    url:"/insertResource",
                    dataType: "json",
                    data:{
                        "rnum":rnum,
                        "name":name,
                        "rtype":rtype,
                        "brand":brand,
                        "model":model,
                        "price":price,
                        "storage":storage,
                        "tips":tips,
                    },
                    success:function(list){
                        showData(list);
                    },
                    error:function (msg){
                        alert("添加失败了..."+msg.toString());
                    }
                });
            });

            //这里是弹出框的点击保存事件
            //$(document).on('click','#resource_change',function (){
             $("#resource_change").click(function (){
                var rtype = $("#changeType").val();
                var storage = $("#change_storage").val();
                var rnum = $("#rid").text();
                var tips = $("#tip").val();
                var uname = $("#uname").val();
                $.ajax({
                    url:"/update",
                    type:"post",
                    dataType:"json",
                    data:{
                        "rnum":rnum,
                        "status":rtype,
                        "uname":uname,
                        "storage":storage,
                        "tips":tips,
                        "oldtype":oldtype,
                    },
                    success:function (resourcelist){
                        alert("success");
                        showData(resourcelist);
                    },
                    error:function (message){
                        alert("更新失败！可能的原因：\n" +
                            "1.在已借出的时候未输入或输入错误的员工姓名。\n" +
                            "2.在未借出的时候未输入储存地点。");
                    }
                });
            })
        });
    </script>
</head>


<body>
<div>
    <form class="content" id="cont2" action="/selectResourceByAll">
        <label>查询内容</label>
        <input type="text" name="object" id="object" value="">
        <button type="button" id="search">搜索</button>
    </form>

    <button type="button" id="add">添加</button>
    <button type="button" id="checkAll">全选</button>
    <button type="button" id="unCheckAll">取消选择</button>
    <button type="button" id="checkid_add">发起盘点</button>
</div>

<table id="tab" border="1px" >
    <tr>
        <td width="20px"></td>
        <td width="40px">编号</td>
        <td width="80px">名称</td>
        <td width="40px">状态</td>
        <td width="40px">类型</td>
        <td width="40px">品牌</td>
        <td width="40px">型号</td>
        <td width="40px">价格</td>
        <td width="80px">注册时间</td>
        <td width="80px">借用时间</td>
        <td width="40px">工号</td>
        <td width="40px">用户</td>
        <td width="40px">存储地</td>
        <td width="40px">管理人</td>
        <td width="100px">备注</td>
        <td width="40px">操作</td>
    </tr>
</table>

<div id="dialog" title="添加资源" >
    <form>
        <fieldset>
            <label for="rnum">编号</label>
            <input type="text" name="rnum" id="rnum" >
            <br><label for="name">名称</label>
            <input type="text" name="name" id="name" >
            <br><label for="rtype">类型</label>
            <input type="text" name="rtype" id="rtype" >
            <br><label for="brand">品牌</label>
            <input type="text" name="brand" id="brand" >
            <br><label for="model">型号</label>
            <input type="text" name="model" id="model" >
            <br><label for="price">价格</label>
            <input type="text" name="price" id="price" value=0.00>
            <br><label for="storage">存储地点</label>
            <input type="text" name="storage" id="storage" >
            <br><label for="tips">备注</label>
            <input type="text" name="tips" id="tips" >
            <br><button type="button" id="resource_add">提交</button>
            </fieldset>
    </form>
</div>

<div id="changeResource" title="信息修改" style="z-index:1;position: relative">
    <form >
        <label>资产编号:</label>
        <a id="rid">null</a>
        <br>
        <label>资产状态:</label>
        <select id="changeType" >
            <option value="已借出" selected>已借出</option>
            <option value="未借出">未借出</option>
        </select>
        <br>
        <label>员工姓名:</label>
        <input id="uname">
        <br>
        <label>存储地点:</label>
        <input id="change_storage">
        <br>
        <label>备注信息：</label>
        <input id="tip">
        <br>
        <br><button id="resource_change" style="float: right">保存</button>
<!--        onclick="changeresource()"-->
    </form>
</div>
</body>
</html>